package com.algaworks.cursojsf2.financeiro.validator;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

import com.sun.faces.util.MessageFactory;

@FacesValidator("com.algaworks.cursojsf2.financeiro.validator.RequerimentoCondicional")
public class RequerimentoCondicionalValidator implements Validator{

	@Override
	public void validate(FacesContext arg0, UIComponent arg1, Object arg2)
			throws ValidatorException {
		
		Boolean checado = (Boolean) arg1.getAttributes().get("checado");
		
		if(checado != null && checado && arg2 == null){
			Object label = MessageFactory.getLabel(arg0, arg1);
			
			String msgErro = "Preencha o campo " + label + ".";
			FacesMessage mensagem = new FacesMessage(FacesMessage.SEVERITY_ERROR,msgErro,msgErro);
			
			throw new ValidatorException(mensagem);
		}
		
	}

}
